#ifndef MP3_H
#define MP3_H

#include "esp_peripherals.h"


/**
 * @brief mp3初始化
 * 
 * @param set 
 */
void mp3_init(esp_periph_set_handle_t set);

/// @brief 等待mp3初始化完成
void mp3_wait_init();



/// @brief 根据url播放mp3
/// @param url 
void mp3_play(const char *url);


/// @brief 等待mp3播放完成
void mp3_wait_idel();


/// @brief 设置当前音量
/// @param volume 
void mp3_set_volume(int volume);


/// @brief 获取当前音量
/// @return 
int mp3_get_volume();


/// @brief 设置播放进度百分比，总共分为128段
/// @param p 
void mp3_set_percent(int p);


/// @brief 设置运行回调
/// @param cb 
void mp3_set_running_cb(void(*cb)(int64_t pos,int64_t total,int64_t bps));


/// @brief 开始播放
void mp3_run();


/// @brief 停止播放
void mp3_stop();


/// @brief 播放暂停
void mp3_pause();


/// @brief 重新播放
void mp3_resume();


/// @brief 设置播放结束回调
/// @param cb 
void mp3_set_over_cb(void(*cb)());
#endif /* MP3_H */
